1. Field of the Invention
The present invention relates to a control device for a RAID (Redundant Array of Independent Disks) device (disk array device).
2. Description of the Related Art
RAID (Redundant Array of Independent Disks) is one of techniques that bring redundancy, less delay, and broad bandwidth to data read/write in a hard disk and that enhance the recoverableness of a hard disk from a crash. Another name of RAID is “disk array”.
RAID has an array of combinations of several disk drives (hereinafter a disk drive is simply referred to as “disk”). The physical storage area of each of the disks is divided into small blocks which are fixed in size (for example, 128 MB (megabyte) or 1 GB (gigabyte)). Each of the blocks is called a “segment”. One segment is taken from each of the plural disks to together form a virtual space called a “stripe (stripe set)”. The allocation unit of a stripe is segment, and each disk provides one segment so that a stripe is allocated with as many segments as necessary to fill a stripe width that is determined in advance. To summarize, a stripe is a virtual space which is obtained by having the plural disks provide one segment each and is accordingly dispersed over the plural disks. The width of a stripe is determined by the number of segments that constitute the stripe. Any data stored in RAID is dispersed over plural disks. When viewed from a user, namely, a host computer, a disk array seems like a single logical storage device or drive (volume). In this way, a disk array composed of a multitude of small disk drives can be used as a single, large-capacity disk drive.
There are various types of RAID to suit different purposes. Typical examples thereof are RAID levels 0, 1, 3, and 5. RAID level 0 is called “striping”. In RAID level 0, a stripe is formed in a disk array and data stored is dispersed over plural segments that constitute the stripe. This is for improving the data read/write speed. RAID level 1 is called “mirroring”. In RAID level 1, at least two segments in a stripe store the same data. This ensures data redundancy. RAID level 3 is called “bit-or-byte-based striping+fixed parity”. In RAID level 3, parity of data striped in bits or bytes across segments is recorded in one disk. RAID level 5 is called “block-based striping+dispersed parity”. In RAID level 5, plural segments that constitute a stripe each store different data whereas one of plural segments stores parity information of data stored in other segments. This makes it possible to reconstruct original data from parity information if one of the disks storing data crashes.
Methods given below have conventionally been employed in adding a hard disk to a computer that uses RAID.